﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
////动物类
//class Animal {
//public:
//	int _age;
//};
////羊类
//class sheep:virtual public Animal {};
////驼类
//class camel :virtual public Animal {};
////羊驼类
//class sheepcamel: public sheep, public camel {
//};
//void test()
//{
//	sheepcamel s;
//	s.camel::_age = 10;
//	s.sheep::_age = 100;
//	cout << s._age << endl;
//
//	//二义性：解决方案：在属性前加：类名区分
//	cout << "s.camel::_age" << s.camel::_age << endl;
//	cout << "s.sheep::_age" << s.sheep::_age << endl;
//	//两份数据，浪费空间问题
//	//利用虚继承，解决菱形继承的问题
//	//继承之前加上关键字 virtual 变为虚继承
//	//Animal 类称为 虚基类
//
//}
//int main()
//{
//	test();
//	return 0;
//}